--
-- Funcion util para imprimir formatos especiales para clientes especiales
--

CREATE OR REPLACE FUNCTION cliente.imprimeporpad(
	pidcomm integer,
	pimprime character varying,
	ppads character varying)
    RETURNS character varying
    LANGUAGE 'plpgsql'
    COST 100
    VOLATILE 
AS $BODY$
DECLARE
vCodPad     varchar;
BEGIN
  --
  -- Llega en ppads una cadena de codigos de clientes separados por coma 
  -- 'CXXX,CYYY ...'
  -- Cambiando el cuerpo de la funcion en ppads puede venir cualquier cosa y filtrarse 
  -- 

  SELECT pad.cod into vCodPad
  FROM COMM
  INNER JOIN PAD ON PAD.ID = COMM.IDPAD
  WHERE COMM.ID = pIdComm;
  
  pPads := ',' || pPads;
  
  IF position(',' || vCodPad || ',' in pPads) > 0 THEN 
     IF pImprime = 'S' THEN
	    RETURN 'S';
	 ELSE
	    RETURN 'N';
     END IF;
  ELSE 
     IF pImprime = 'S' THEN
	    RETURN 'N';
	 ELSE
	    RETURN 'S';
     END IF;
  END IF;
  
END;
$BODY$;

ALTER FUNCTION cliente.imprimeporpad(integer, character varying, character varying)
    OWNER TO abacouser;
--
SELECT aaversion('498.01','498.00');
--

